As used herein, “/” denotes alternative names for the same or similar components or structures. That is, a “/” can be taken as meaning “or” as used herein. A Kad network is a specific type of peer-to-peer (P2P) network. Kad is related to Kademlia. A Kad-type network is considered a third generation P2P network. First generation P2P networks relied on a central repository to coordinate lookups on the P2P network including lookups for peer locations and lookups for content location. Second generation P2P networks did not rely on a central unit/node or repository to perform lookups but rather flooded the P2P network in search of content. Third generation P2P networks such a Kad and Kademlia use distributed hash tables to locate content in the P2P network. It is, of course, extremely desirable to locate content quickly.
Given that as background, one might wish to monitor the performance of such a network. There are many reasons for this desire. One is to locate illegal file/content downloading in order to prevent piracy. Another reason is to target advertising. Yet another reason is to understand and model Kad network performance and behavior in order to determine if such a network could be used in another application.
One approach for capturing Kad traffic is to randomly place a few instrumented peers within the network. Each instrumented peer passively monitors and logs traffic. While this approach may provide insight into a median peer's experience, the small sample size sheds little light on the typical Kad traffic pattern.
An alternative approach is to insert a large number of instrumented peers to monitor traffic at many points within the Kad network. Unfortunately, adding a large number of monitoring peers is impractical due to the requirement on computational resources. Even if it was possible, such a brute force approach artificially increases the number of peers in a Kad network, disturbing and changing the existing system, i.e., altering the traffic pattern of underlying network that the monitoring system was designed to monitor.
Mistral, developed by Steiner et al., is the closest known monitoring tool to the present invention, which is called Montra herein. The basic idea of crawling the network and using protocol features to add monitors to routing tables of actual peers is the same between the two techniques. However, the technique of the present invention introduces the concept of a monitor with least visibility (MLV). MLVs allow the Kad network to be monitored without disrupting the network. MLVs gracefully cope with churn and give a fairly accurate measure of traffic. Mistral, on the other hand, can disrupt the system.